﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum СтатусыПолученияПередачиТоваров
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"217057d3-e42b-4973-82bd-fb3c9763d0a8\", \"Представление\":\"НаКомиссию\"}")]
		НаКомиссию = 0,//На комиссию
		[EnumMember(Value = "{\"Ссылка\":\"daf80e2c-889c-4ab1-83e0-b23af97133a3\", \"Представление\":\"ВПереработку\"}")]
		ВПереработку = 1,//В переработку
		[EnumMember(Value = "{\"Ссылка\":\"0ee12f80-8c83-41db-af79-5133e57f2b92\", \"Представление\":\"ВозвратнаяТара\"}")]
		ВозвратнаяТара = 2,//Возвратная тара
	}
	public static partial class СтатусыПолученияПередачиТоваров_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid НаКомиссию = new Guid("3cfbbd82-6397-a8d0-4973-e42b217057d3");//На комиссию
		public static readonly Guid ВПереработку = new Guid("3ab2e083-71f9-a333-4ab1-889cdaf80e2c");//В переработку
		public static readonly Guid ВозвратнаяТара = new Guid("335179af-7fe5-922b-41db-8c830ee12f80");//Возвратная тара
		public static СтатусыПолученияПередачиТоваров Получить(this СтатусыПолученияПередачиТоваров Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыПолученияПередачиТоваров Получить(this СтатусыПолученияПередачиТоваров Значение, Guid Ссылка)
		{
			if(Ссылка == НаКомиссию)
			{
				return СтатусыПолученияПередачиТоваров.НаКомиссию;
			}
			else if(Ссылка == ВПереработку)
			{
				return СтатусыПолученияПередачиТоваров.ВПереработку;
			}
			else if(Ссылка == ВозвратнаяТара)
			{
				return СтатусыПолученияПередачиТоваров.ВозвратнаяТара;
			}
			return СтатусыПолученияПередачиТоваров.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыПолученияПередачиТоваров Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыПолученияПередачиТоваров Значение)
		{
			switch (Значение)
			{
				case СтатусыПолученияПередачиТоваров.НаКомиссию: return НаКомиссию;
				case СтатусыПолученияПередачиТоваров.ВПереработку: return ВПереработку;
				case СтатусыПолученияПередачиТоваров.ВозвратнаяТара: return ВозвратнаяТара;
			}
			return Guid.Empty;
		}
	}
}